philosophy / time travel.md.htmlon commit add english, methods, spec notes (872d16b)
   1<!DOCTYPE html>
   2<html>
   3  <head>
   4      <meta charset="utf-8" />
   5      <title>time travel</title>
   6<script type="text/x-mathjax-config">
   7  MathJax.Hub.Config({
   8    jax: ["input/TeX","output/HTML-CSS"],
   9    extensions: [],
  10    TeX: {
  11      extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
  12    },
  13    showMathMenu: false
  14  });
  15</script>
  16<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js">
  17</script>
  18      <style>.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178, 191); background-color: rgb(40, 44, 52); overflow: auto; }
  19.markdown-preview:not([data-use-github-style]) > :first-child { margin-top: 0px; }
  20.markdown-preview:not([data-use-github-style]) h1, .markdown-preview:not([data-use-github-style]) h2, .markdown-preview:not([data-use-github-style]) h3, .markdown-preview:not([data-use-github-style]) h4, .markdown-preview:not([data-use-github-style]) h5, .markdown-preview:not([data-use-github-style]) h6 { line-height: 1.2; margin-top: 1.5em; margin-bottom: 0.5em; color: rgb(255, 255, 255); }
  21.markdown-preview:not([data-use-github-style]) h1 { font-size: 2.4em; font-weight: 300; }
  22.markdown-preview:not([data-use-github-style]) h2 { font-size: 1.8em; font-weight: 400; }
  23.markdown-preview:not([data-use-github-style]) h3 { font-size: 1.5em; font-weight: 500; }
  24.markdown-preview:not([data-use-github-style]) h4 { font-size: 1.2em; font-weight: 600; }
  25.markdown-preview:not([data-use-github-style]) h5 { font-size: 1.1em; font-weight: 600; }
  26.markdown-preview:not([data-use-github-style]) h6 { font-size: 1em; font-weight: 600; }
  27.markdown-preview:not([data-use-github-style]) strong { color: rgb(255, 255, 255); }
  28.markdown-preview:not([data-use-github-style]) del { color: rgb(124, 135, 156); }
  29.markdown-preview:not([data-use-github-style]) a, .markdown-preview:not([data-use-github-style]) a code { color: rgb(82, 139, 255); }
  30.markdown-preview:not([data-use-github-style]) img { max-width: 100%; }
  31.markdown-preview:not([data-use-github-style]) > p { margin-top: 0px; margin-bottom: 1.5em; }
  32.markdown-preview:not([data-use-github-style]) > ul, .markdown-preview:not([data-use-github-style]) > ol { margin-bottom: 1.5em; }
  33.markdown-preview:not([data-use-github-style]) blockquote { margin: 1.5em 0px; font-size: inherit; color: rgb(124, 135, 156); border-color: rgb(75, 83, 98); border-width: 4px; }
  34.markdown-preview:not([data-use-github-style]) hr { margin: 3em 0px; border-top: 2px dashed rgb(75, 83, 98); background: none; }
  35.markdown-preview:not([data-use-github-style]) table { margin: 1.5em 0px; }
  36.markdown-preview:not([data-use-github-style]) th { color: rgb(255, 255, 255); }
  37.markdown-preview:not([data-use-github-style]) th, .markdown-preview:not([data-use-github-style]) td { padding: 0.66em 1em; border: 1px solid rgb(75, 83, 98); }
  38.markdown-preview:not([data-use-github-style]) pre, .markdown-preview:not([data-use-github-style]) code { color: rgb(255, 255, 255); background-color: rgb(58, 63, 75); }
  39.markdown-preview:not([data-use-github-style]) pre, .markdown-preview:not([data-use-github-style]) pre.editor-colors { margin: 1.5em 0px; padding: 1em; font-size: 0.92em; border-radius: 3px; background-color: rgb(49, 54, 63); }
  40.markdown-preview:not([data-use-github-style]) kbd { color: rgb(255, 255, 255); border-width: 1px 1px 2px; border-style: solid; border-color: rgb(75, 83, 98) rgb(75, 83, 98) rgb(62, 68, 81); border-image: initial; background-color: rgb(58, 63, 75); }
  41.markdown-preview[data-use-github-style] { font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; line-height: 1.6; word-wrap: break-word; padding: 30px; font-size: 16px; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); overflow: scroll; }
  42.markdown-preview[data-use-github-style] > :first-child { margin-top: 0px !important; }
  43.markdown-preview[data-use-github-style] > :last-child { margin-bottom: 0px !important; }
  44.markdown-preview[data-use-github-style] a:not([href]) { color: inherit; text-decoration: none; }
  45.markdown-preview[data-use-github-style] .absent { color: rgb(204, 0, 0); }
  46.markdown-preview[data-use-github-style] .anchor { position: absolute; top: 0px; left: 0px; display: block; padding-right: 6px; padding-left: 30px; margin-left: -30px; }
  47.markdown-preview[data-use-github-style] .anchor:focus { outline: none; }
  48.markdown-preview[data-use-github-style] h1, .markdown-preview[data-use-github-style] h2, .markdown-preview[data-use-github-style] h3, .markdown-preview[data-use-github-style] h4, .markdown-preview[data-use-github-style] h5, .markdown-preview[data-use-github-style] h6 { position: relative; margin-top: 1em; margin-bottom: 16px; font-weight: bold; line-height: 1.4; }
  49.markdown-preview[data-use-github-style] h1 .octicon-link, .markdown-preview[data-use-github-style] h2 .octicon-link, .markdown-preview[data-use-github-style] h3 .octicon-link, .markdown-preview[data-use-github-style] h4 .octicon-link, .markdown-preview[data-use-github-style] h5 .octicon-link, .markdown-preview[data-use-github-style] h6 .octicon-link { display: none; color: rgb(0, 0, 0); vertical-align: middle; }
  50.markdown-preview[data-use-github-style] h1:hover .anchor, .markdown-preview[data-use-github-style] h2:hover .anchor, .markdown-preview[data-use-github-style] h3:hover .anchor, .markdown-preview[data-use-github-style] h4:hover .anchor, .markdown-preview[data-use-github-style] h5:hover .anchor, .markdown-preview[data-use-github-style] h6:hover .anchor { padding-left: 8px; margin-left: -30px; text-decoration: none; }
  51.markdown-preview[data-use-github-style] h1:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h2:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h3:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h4:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h5:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h6:hover .anchor .octicon-link { display: inline-block; }
  52.markdown-preview[data-use-github-style] h1 tt, .markdown-preview[data-use-github-style] h2 tt, .markdown-preview[data-use-github-style] h3 tt, .markdown-preview[data-use-github-style] h4 tt, .markdown-preview[data-use-github-style] h5 tt, .markdown-preview[data-use-github-style] h6 tt, .markdown-preview[data-use-github-style] h1 code, .markdown-preview[data-use-github-style] h2 code, .markdown-preview[data-use-github-style] h3 code, .markdown-preview[data-use-github-style] h4 code, .markdown-preview[data-use-github-style] h5 code, .markdown-preview[data-use-github-style] h6 code { font-size: inherit; }
  53.markdown-preview[data-use-github-style] h1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom: 1px solid rgb(238, 238, 238); }
  54.markdown-preview[data-use-github-style] h1 .anchor { line-height: 1; }
  55.markdown-preview[data-use-github-style] h2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom: 1px solid rgb(238, 238, 238); }
  56.markdown-preview[data-use-github-style] h2 .anchor { line-height: 1; }
  57.markdown-preview[data-use-github-style] h3 { font-size: 1.5em; line-height: 1.43; }
  58.markdown-preview[data-use-github-style] h3 .anchor { line-height: 1.2; }
  59.markdown-preview[data-use-github-style] h4 { font-size: 1.25em; }
  60.markdown-preview[data-use-github-style] h4 .anchor { line-height: 1.2; }
  61.markdown-preview[data-use-github-style] h5 { font-size: 1em; }
  62.markdown-preview[data-use-github-style] h5 .anchor { line-height: 1.1; }
  63.markdown-preview[data-use-github-style] h6 { font-size: 1em; color: rgb(119, 119, 119); }
  64.markdown-preview[data-use-github-style] h6 .anchor { line-height: 1.1; }
  65.markdown-preview[data-use-github-style] p, .markdown-preview[data-use-github-style] blockquote, .markdown-preview[data-use-github-style] ul, .markdown-preview[data-use-github-style] ol, .markdown-preview[data-use-github-style] dl, .markdown-preview[data-use-github-style] table, .markdown-preview[data-use-github-style] pre { margin-top: 0px; margin-bottom: 16px; }
  66.markdown-preview[data-use-github-style] hr { height: 4px; padding: 0px; margin: 16px 0px; background-color: rgb(231, 231, 231); border: 0px none; }
  67.markdown-preview[data-use-github-style] ul, .markdown-preview[data-use-github-style] ol { padding-left: 2em; }
  68.markdown-preview[data-use-github-style] ul.no-list, .markdown-preview[data-use-github-style] ol.no-list { padding: 0px; list-style-type: none; }
  69.markdown-preview[data-use-github-style] ul ul, .markdown-preview[data-use-github-style] ul ol, .markdown-preview[data-use-github-style] ol ol, .markdown-preview[data-use-github-style] ol ul { margin-top: 0px; margin-bottom: 0px; }
  70.markdown-preview[data-use-github-style] li > p { margin-top: 16px; }
  71.markdown-preview[data-use-github-style] dl { padding: 0px; }
  72.markdown-preview[data-use-github-style] dl dt { padding: 0px; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: bold; }
  73.markdown-preview[data-use-github-style] dl dd { padding: 0px 16px; margin-bottom: 16px; }
  74.markdown-preview[data-use-github-style] blockquote { padding: 0px 15px; color: rgb(119, 119, 119); border-left: 4px solid rgb(221, 221, 221); }
  75.markdown-preview[data-use-github-style] blockquote > :first-child { margin-top: 0px; }
  76.markdown-preview[data-use-github-style] blockquote > :last-child { margin-bottom: 0px; }
  77.markdown-preview[data-use-github-style] table { display: block; width: 100%; overflow: auto; word-break: keep-all; }
  78.markdown-preview[data-use-github-style] table th { font-weight: bold; }
  79.markdown-preview[data-use-github-style] table th, .markdown-preview[data-use-github-style] table td { padding: 6px 13px; border: 1px solid rgb(221, 221, 221); }
  80.markdown-preview[data-use-github-style] table tr { background-color: rgb(255, 255, 255); border-top: 1px solid rgb(204, 204, 204); }
  81.markdown-preview[data-use-github-style] table tr:nth-child(2n) { background-color: rgb(248, 248, 248); }
  82.markdown-preview[data-use-github-style] img { max-width: 100%; box-sizing: border-box; }
  83.markdown-preview[data-use-github-style] .emoji { max-width: none; }
  84.markdown-preview[data-use-github-style] span.frame { display: block; overflow: hidden; }
  85.markdown-preview[data-use-github-style] span.frame > span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0px 0px; overflow: hidden; border: 1px solid rgb(221, 221, 221); }
  86.markdown-preview[data-use-github-style] span.frame span img { display: block; float: left; }
  87.markdown-preview[data-use-github-style] span.frame span span { display: block; padding: 5px 0px 0px; clear: both; color: rgb(51, 51, 51); }
  88.markdown-preview[data-use-github-style] span.align-center { display: block; overflow: hidden; clear: both; }
  89.markdown-preview[data-use-github-style] span.align-center > span { display: block; margin: 13px auto 0px; overflow: hidden; text-align: center; }
  90.markdown-preview[data-use-github-style] span.align-center span img { margin: 0px auto; text-align: center; }
  91.markdown-preview[data-use-github-style] span.align-right { display: block; overflow: hidden; clear: both; }
  92.markdown-preview[data-use-github-style] span.align-right > span { display: block; margin: 13px 0px 0px; overflow: hidden; text-align: right; }
  93.markdown-preview[data-use-github-style] span.align-right span img { margin: 0px; text-align: right; }
  94.markdown-preview[data-use-github-style] span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; }
  95.markdown-preview[data-use-github-style] span.float-left span { margin: 13px 0px 0px; }
  96.markdown-preview[data-use-github-style] span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; }
  97.markdown-preview[data-use-github-style] span.float-right > span { display: block; margin: 13px auto 0px; overflow: hidden; text-align: right; }
  98.markdown-preview[data-use-github-style] code, .markdown-preview[data-use-github-style] tt { padding: 0.2em 0px; margin: 0px; font-size: 85%; background-color: rgba(0, 0, 0, 0.0392157); border-radius: 3px; }
  99.markdown-preview[data-use-github-style] code::before, .markdown-preview[data-use-github-style] tt::before, .markdown-preview[data-use-github-style] code::after, .markdown-preview[data-use-github-style] tt::after { letter-spacing: -0.2em; content: " "; }
 100.markdown-preview[data-use-github-style] code br, .markdown-preview[data-use-github-style] tt br { display: none; }
 101.markdown-preview[data-use-github-style] del code { text-decoration: inherit; }
 102.markdown-preview[data-use-github-style] pre > code { padding: 0px; margin: 0px; font-size: 100%; word-break: normal; white-space: pre; background: transparent; border: 0px; }
 103.markdown-preview[data-use-github-style] .highlight { margin-bottom: 16px; }
 104.markdown-preview[data-use-github-style] .highlight pre, .markdown-preview[data-use-github-style] pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: rgb(247, 247, 247); border-radius: 3px; }
 105.markdown-preview[data-use-github-style] .highlight pre { margin-bottom: 0px; word-break: normal; }
 106.markdown-preview[data-use-github-style] pre { word-wrap: normal; }
 107.markdown-preview[data-use-github-style] pre code, .markdown-preview[data-use-github-style] pre tt { display: inline; max-width: initial; padding: 0px; margin: 0px; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0px; }
 108.markdown-preview[data-use-github-style] pre code::before, .markdown-preview[data-use-github-style] pre tt::before, .markdown-preview[data-use-github-style] pre code::after, .markdown-preview[data-use-github-style] pre tt::after { content: normal; }
 109.markdown-preview[data-use-github-style] kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: rgb(85, 85, 85); vertical-align: middle; background-color: rgb(252, 252, 252); border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(187, 187, 187); border-image: initial; border-radius: 3px; box-shadow: rgb(187, 187, 187) 0px -1px 0px inset; }
 110.markdown-preview[data-use-github-style] a { color: rgb(51, 122, 183); }
 111.markdown-preview[data-use-github-style] pre, .markdown-preview[data-use-github-style] code { color: inherit; }
 112.markdown-preview[data-use-github-style] pre, .markdown-preview[data-use-github-style] pre.editor-colors { padding: 0.8em 1em; margin-bottom: 1em; font-size: 0.85em; border-radius: 4px; overflow: auto; }
 113.scrollbars-visible-always .markdown-preview pre.editor-colors .vertical-scrollbar, .scrollbars-visible-always .markdown-preview pre.editor-colors .horizontal-scrollbar { visibility: hidden; }
 114.scrollbars-visible-always .markdown-preview pre.editor-colors:hover .vertical-scrollbar, .scrollbars-visible-always .markdown-preview pre.editor-colors:hover .horizontal-scrollbar { visibility: visible; }
 115.markdown-preview del { text-decoration: none; position: relative; }
 116.markdown-preview del::after { border-bottom: 1px solid black; content: ""; left: 0px; position: absolute; right: 0px; top: 50%; }
 117.markdown-preview .flash { animation: flash 1s ease-out 1; outline: rgba(255, 0, 0, 0) solid 1px; }
 118.markdown-preview .flash:not(li) { display: block; }
 119.bracket-matcher .region {
 120  border-bottom: 1px dotted lime;
 121  position: absolute;
 122}
 123.line-number.bracket-matcher {
 124  background-color: #777;
 125}
 126
 127.spell-check-misspelling .region {
 128  border-bottom: 2px dotted rgba(255, 51, 51, 0.75);
 129}
 130.spell-check-corrections {
 131  width: 25em !important;
 132}
 133
 134pre.editor-colors {
 135  background-color: #282c34;
 136  color: #abb2bf;
 137}
 138pre.editor-colors .line.cursor-line {
 139  background-color: rgba(153, 187, 255, 0.04);
 140}
 141pre.editor-colors .invisible {
 142  color: #abb2bf;
 143}
 144pre.editor-colors .cursor {
 145  border-left: 2px solid #528bff;
 146}
 147pre.editor-colors .selection .region {
 148  background-color: #3e4451;
 149}
 150pre.editor-colors .bracket-matcher .region {
 151  border-bottom: 1px solid #528bff;
 152  box-sizing: border-box;
 153}
 154pre.editor-colors .invisible-character {
 155  color: rgba(171, 178, 191, 0.15);
 156}
 157pre.editor-colors .indent-guide {
 158  color: rgba(171, 178, 191, 0.15);
 159}
 160pre.editor-colors .wrap-guide {
 161  background-color: rgba(171, 178, 191, 0.15);
 162}
 163pre.editor-colors .find-result .region.region.region,
 164pre.editor-colors .current-result .region.region.region {
 165  border-radius: 2px;
 166  background-color: rgba(82, 139, 255, 0.24);
 167  transition: border-color 0.4s;
 168}
 169pre.editor-colors .find-result .region.region.region {
 170  border: 2px solid transparent;
 171}
 172pre.editor-colors .current-result .region.region.region {
 173  border: 2px solid #528bff;
 174  transition-duration: .1s;
 175}
 176pre.editor-colors .gutter .line-number {
 177  color: #636d83;
 178  -webkit-font-smoothing: antialiased;
 179}
 180pre.editor-colors .gutter .line-number.cursor-line {
 181  color: #abb2bf;
 182  background-color: #2c313a;
 183}
 184pre.editor-colors .gutter .line-number.cursor-line-no-selection {
 185  background-color: transparent;
 186}
 187pre.editor-colors .gutter .line-number .icon-right {
 188  color: #abb2bf;
 189}
 190pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed.git-line-removed::before {
 191  bottom: -3px;
 192}
 193pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed::after {
 194  content: "";
 195  position: absolute;
 196  left: 0px;
 197  bottom: 0px;
 198  width: 25px;
 199  border-bottom: 1px dotted rgba(224, 82, 82, 0.5);
 200  pointer-events: none;
 201}
 202pre.editor-colors .gutter .line-number.folded,
 203pre.editor-colors .gutter .line-number:after,
 204pre.editor-colors .fold-marker:after {
 205  color: #abb2bf;
 206}
 207.syntax--comment {
 208  color: #5c6370;
 209  font-style: italic;
 210}
 211.syntax--comment .syntax--markup.syntax--link {
 212  color: #5c6370;
 213}
 214.syntax--entity.syntax--name.syntax--type {
 215  color: #e5c07b;
 216}
 217.syntax--entity.syntax--other.syntax--inherited-class {
 218  color: #98c379;
 219}
 220.syntax--keyword {
 221  color: #c678dd;
 222}
 223.syntax--keyword.syntax--control {
 224  color: #c678dd;
 225}
 226.syntax--keyword.syntax--operator {
 227  color: #abb2bf;
 228}
 229.syntax--keyword.syntax--other.syntax--special-method {
 230  color: #61afef;
 231}
 232.syntax--keyword.syntax--other.syntax--unit {
 233  color: #d19a66;
 234}
 235.syntax--storage {
 236  color: #c678dd;
 237}
 238.syntax--storage.syntax--type.syntax--annotation,
 239.syntax--storage.syntax--type.syntax--primitive {
 240  color: #c678dd;
 241}
 242.syntax--storage.syntax--modifier.syntax--package,
 243.syntax--storage.syntax--modifier.syntax--import {
 244  color: #abb2bf;
 245}
 246.syntax--constant {
 247  color: #d19a66;
 248}
 249.syntax--constant.syntax--variable {
 250  color: #d19a66;
 251}
 252.syntax--constant.syntax--character.syntax--escape {
 253  color: #56b6c2;
 254}
 255.syntax--constant.syntax--numeric {
 256  color: #d19a66;
 257}
 258.syntax--constant.syntax--other.syntax--color {
 259  color: #56b6c2;
 260}
 261.syntax--constant.syntax--other.syntax--symbol {
 262  color: #56b6c2;
 263}
 264.syntax--variable {
 265  color: #e06c75;
 266}
 267.syntax--variable.syntax--interpolation {
 268  color: #be5046;
 269}
 270.syntax--variable.syntax--parameter {
 271  color: #abb2bf;
 272}
 273.syntax--string {
 274  color: #98c379;
 275}
 276.syntax--string.syntax--regexp {
 277  color: #56b6c2;
 278}
 279.syntax--string.syntax--regexp .syntax--source.syntax--ruby.syntax--embedded {
 280  color: #e5c07b;
 281}
 282.syntax--string.syntax--other.syntax--link {
 283  color: #e06c75;
 284}
 285.syntax--punctuation.syntax--definition.syntax--comment {
 286  color: #5c6370;
 287}
 288.syntax--punctuation.syntax--definition.syntax--method-parameters,
 289.syntax--punctuation.syntax--definition.syntax--function-parameters,
 290.syntax--punctuation.syntax--definition.syntax--parameters,
 291.syntax--punctuation.syntax--definition.syntax--separator,
 292.syntax--punctuation.syntax--definition.syntax--seperator,
 293.syntax--punctuation.syntax--definition.syntax--array {
 294  color: #abb2bf;
 295}
 296.syntax--punctuation.syntax--definition.syntax--heading,
 297.syntax--punctuation.syntax--definition.syntax--identity {
 298  color: #61afef;
 299}
 300.syntax--punctuation.syntax--definition.syntax--bold {
 301  color: #e5c07b;
 302  font-weight: bold;
 303}
 304.syntax--punctuation.syntax--definition.syntax--italic {
 305  color: #c678dd;
 306  font-style: italic;
 307}
 308.syntax--punctuation.syntax--section.syntax--embedded {
 309  color: #be5046;
 310}
 311.syntax--punctuation.syntax--section.syntax--method,
 312.syntax--punctuation.syntax--section.syntax--class,
 313.syntax--punctuation.syntax--section.syntax--inner-class {
 314  color: #abb2bf;
 315}
 316.syntax--support.syntax--class {
 317  color: #e5c07b;
 318}
 319.syntax--support.syntax--type {
 320  color: #56b6c2;
 321}
 322.syntax--support.syntax--function {
 323  color: #56b6c2;
 324}
 325.syntax--support.syntax--function.syntax--any-method {
 326  color: #61afef;
 327}
 328.syntax--entity.syntax--name.syntax--function {
 329  color: #61afef;
 330}
 331.syntax--entity.syntax--name.syntax--class,
 332.syntax--entity.syntax--name.syntax--type.syntax--class {
 333  color: #e5c07b;
 334}
 335.syntax--entity.syntax--name.syntax--section {
 336  color: #61afef;
 337}
 338.syntax--entity.syntax--name.syntax--tag {
 339  color: #e06c75;
 340}
 341.syntax--entity.syntax--other.syntax--attribute-name {
 342  color: #d19a66;
 343}
 344.syntax--entity.syntax--other.syntax--attribute-name.syntax--id {
 345  color: #61afef;
 346}
 347.syntax--meta.syntax--class {
 348  color: #e5c07b;
 349}
 350.syntax--meta.syntax--class.syntax--body {
 351  color: #abb2bf;
 352}
 353.syntax--meta.syntax--method-call,
 354.syntax--meta.syntax--method {
 355  color: #abb2bf;
 356}
 357.syntax--meta.syntax--definition.syntax--variable {
 358  color: #e06c75;
 359}
 360.syntax--meta.syntax--link {
 361  color: #d19a66;
 362}
 363.syntax--meta.syntax--require {
 364  color: #61afef;
 365}
 366.syntax--meta.syntax--selector {
 367  color: #c678dd;
 368}
 369.syntax--meta.syntax--separator {
 370  color: #abb2bf;
 371}
 372.syntax--meta.syntax--tag {
 373  color: #abb2bf;
 374}
 375.syntax--underline {
 376  text-decoration: underline;
 377}
 378.syntax--none {
 379  color: #abb2bf;
 380}
 381.syntax--invalid.syntax--deprecated {
 382  color: #523d14 !important;
 383  background-color: #e0c285 !important;
 384}
 385.syntax--invalid.syntax--illegal {
 386  color: white !important;
 387  background-color: #e05252 !important;
 388}
 389.syntax--markup.syntax--bold {
 390  color: #d19a66;
 391  font-weight: bold;
 392}
 393.syntax--markup.syntax--changed {
 394  color: #c678dd;
 395}
 396.syntax--markup.syntax--deleted {
 397  color: #e06c75;
 398}
 399.syntax--markup.syntax--italic {
 400  color: #c678dd;
 401  font-style: italic;
 402}
 403.syntax--markup.syntax--heading {
 404  color: #e06c75;
 405}
 406.syntax--markup.syntax--heading .syntax--punctuation.syntax--definition.syntax--heading {
 407  color: #61afef;
 408}
 409.syntax--markup.syntax--link {
 410  color: #56b6c2;
 411}
 412.syntax--markup.syntax--inserted {
 413  color: #98c379;
 414}
 415.syntax--markup.syntax--quote {
 416  color: #d19a66;
 417}
 418.syntax--markup.syntax--raw {
 419  color: #98c379;
 420}
 421.syntax--source.syntax--c .syntax--keyword.syntax--operator {
 422  color: #c678dd;
 423}
 424.syntax--source.syntax--cpp .syntax--keyword.syntax--operator {
 425  color: #c678dd;
 426}
 427.syntax--source.syntax--cs .syntax--keyword.syntax--operator {
 428  color: #c678dd;
 429}
 430.syntax--source.syntax--css .syntax--property-name,
 431.syntax--source.syntax--css .syntax--property-value {
 432  color: #828997;
 433}
 434.syntax--source.syntax--css .syntax--property-name.syntax--support,
 435.syntax--source.syntax--css .syntax--property-value.syntax--support {
 436  color: #abb2bf;
 437}
 438.syntax--source.syntax--elixir .syntax--source.syntax--embedded.syntax--source {
 439  color: #abb2bf;
 440}
 441.syntax--source.syntax--elixir .syntax--constant.syntax--language,
 442.syntax--source.syntax--elixir .syntax--constant.syntax--numeric,
 443.syntax--source.syntax--elixir .syntax--constant.syntax--definition {
 444  color: #61afef;
 445}
 446.syntax--source.syntax--elixir .syntax--variable.syntax--definition,
 447.syntax--source.syntax--elixir .syntax--variable.syntax--anonymous {
 448  color: #c678dd;
 449}
 450.syntax--source.syntax--elixir .syntax--parameter.syntax--variable.syntax--function {
 451  color: #d19a66;
 452  font-style: italic;
 453}
 454.syntax--source.syntax--elixir .syntax--quoted {
 455  color: #98c379;
 456}
 457.syntax--source.syntax--elixir .syntax--keyword.syntax--special-method,
 458.syntax--source.syntax--elixir .syntax--embedded.syntax--section,
 459.syntax--source.syntax--elixir .syntax--embedded.syntax--source.syntax--empty {
 460  color: #e06c75;
 461}
 462.syntax--source.syntax--elixir .syntax--readwrite.syntax--module .syntax--punctuation {
 463  color: #e06c75;
 464}
 465.syntax--source.syntax--elixir .syntax--regexp.syntax--section,
 466.syntax--source.syntax--elixir .syntax--regexp.syntax--string {
 467  color: #be5046;
 468}
 469.syntax--source.syntax--elixir .syntax--separator,
 470.syntax--source.syntax--elixir .syntax--keyword.syntax--operator {
 471  color: #d19a66;
 472}
 473.syntax--source.syntax--elixir .syntax--variable.syntax--constant {
 474  color: #e5c07b;
 475}
 476.syntax--source.syntax--elixir .syntax--array,
 477.syntax--source.syntax--elixir .syntax--scope,
 478.syntax--source.syntax--elixir .syntax--section {
 479  color: #828997;
 480}
 481.syntax--source.syntax--gfm .syntax--markup {
 482  -webkit-font-smoothing: auto;
 483}
 484.syntax--source.syntax--gfm .syntax--link .syntax--entity {
 485  color: #61afef;
 486}
 487.syntax--source.syntax--go .syntax--storage.syntax--type.syntax--string {
 488  color: #c678dd;
 489}
 490.syntax--source.syntax--ini .syntax--keyword.syntax--other.syntax--definition.syntax--ini {
 491  color: #e06c75;
 492}
 493.syntax--source.syntax--java .syntax--storage.syntax--modifier.syntax--import {
 494  color: #e5c07b;
 495}
 496.syntax--source.syntax--java .syntax--storage.syntax--type {
 497  color: #e5c07b;
 498}
 499.syntax--source.syntax--java .syntax--keyword.syntax--operator.syntax--instanceof {
 500  color: #c678dd;
 501}
 502.syntax--source.syntax--java-properties .syntax--meta.syntax--key-pair {
 503  color: #e06c75;
 504}
 505.syntax--source.syntax--java-properties .syntax--meta.syntax--key-pair > .syntax--punctuation {
 506  color: #abb2bf;
 507}
 508.syntax--source.syntax--js .syntax--keyword.syntax--operator {
 509  color: #56b6c2;
 510}
 511.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--delete,
 512.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--in,
 513.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--of,
 514.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--instanceof,
 515.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--new,
 516.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--typeof,
 517.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--void {
 518  color: #c678dd;
 519}
 520.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--string.syntax--quoted.syntax--json {
 521  color: #e06c75;
 522}
 523.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation.syntax--string {
 524  color: #e06c75;
 525}
 526.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
 527.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
 528.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation,
 529.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation {
 530  color: #98c379;
 531}
 532.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--constant.syntax--language.syntax--json,
 533.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--constant.syntax--language.syntax--json {
 534  color: #56b6c2;
 535}
 536.syntax--source.syntax--ruby .syntax--constant.syntax--other.syntax--symbol > .syntax--punctuation {
 537  color: inherit;
 538}
 539.syntax--source.syntax--php .syntax--class.syntax--bracket {
 540  color: #abb2bf;
 541}
 542.syntax--source.syntax--python .syntax--keyword.syntax--operator.syntax--logical.syntax--python {
 543  color: #c678dd;
 544}
 545.syntax--source.syntax--python .syntax--variable.syntax--parameter {
 546  color: #d19a66;
 547}
 548</style>
 549  </head>
 550  <body class='markdown-preview'><h1>Time Travel and Quantum Mechanics</h1>
 551<h2>What is time?</h2>
 552<ul>
 553<li>
 554<p>time is what clocks measure</p>
 555<ul>
 556<li>measure time objectively, therefore does not help our subjective definition of time</li>
 557</ul>
 558</li>
 559<li>
 560<p><span class="math"><script type="math/tex">t</script></span> - just like another quantitative variable (period of time, not absolute)</p>
 561</li>
 562</ul>
 563<ul>
 564<li>
 565<p>fourth dimension</p>
 566</li>
 567<li>
 568<p>these describe properties of it, not its implications or how it works</p>
 569<ul>
 570<li>implications are generally determined through intuition</li>
 571</ul>
 572</li>
 573</ul>
 574<ul>
 575<li>
 576<p>sense of time is inherent to all humans - every human has memory and some idea that time is observable through changes in space</p>
 577<ul>
 578<li>computers have memory, do they have a concept of time?</li>
 579</ul>
 580</li>
 581</ul>
 582<p>Therefore, we have:</p>
 583<p><strong>1. Subjective time</strong></p>
 584<ul>
 585<li>presumably everyone experiences this notion of time</li>
 586<li>has the property of lapsing (time approaches <span class="math"><script type="math/tex">\infty</script></span>)</li>
 587</ul>
 588<p><strong>2. Physical time</strong></p>
 589<ul>
 590<li>represented by <span class="math"><script type="math/tex">t</script></span></li>
 591<li>objective</li>
 592<li>quantitative (period, not absolute)</li>
 593</ul>
 594<blockquote>
 595<p>All paradoxes arise from the fact that time lapses / flows - we are basing time on subjective time, not physical time</p>
 596</blockquote>
 597<h2>Concepts of time in physics</h2>
 598<h3>Thermodynamic time arrow</h3>
 599<ul>
 600<li>second law of thermodynamics:</li>
 601<li>total entropy cannot decrease over time (randomness of particles)</li>
 602<li>Hence, time has a specific direction (approaching infinite entropy)</li>
 603<li>This can be modelled as <span class="math"><script type="math/tex">t=e</script></span>. If <span class="math"><script type="math/tex">e</script></span> cannot be subtracted from, <span class="math"><script type="math/tex">t</script></span> can only go one way.</li>
 604<li>entropy is an irreversible process</li>
 605<li>therefore, time travel backwards is impossible</li>
 606</ul>
 607<h3>Block time</h3>
 608<ul>
 609<li>time is fourth dimension - all dimensions are related</li>
 610<li>universe exists as a whole, in four dimensions, just like a chair can exist in three dimensions (plus time)</li>
 611<li>you cannot isolate one value in one of the three dimensions and define it by itself - it would be ridiculous to say that a point (<span class="math"><script type="math/tex">x=2,y=1,z=3</script></span>) can exist if y and z are not defined</li>
 612<li>therefore, past and future must also exist as a relation of four values (<span class="math"><script type="math/tex">x,y,z,t</script></span>)</li>
 613</ul>
 614<ol start="2">
 615<li>
 616<p>Are the past and future real?<br>
 617By using the present as a proxy for the past or future, we can simulate them, effectively nesting times inside times (a simpler idea of a time machine - normal time machines lose the idea of the present).</p>
 618</li>
 619<li>
 620<p>Do events that occurred in the past / future exist?</p>
 621</li>
 622</ol>
 623<blockquote>
 624<p>What is the physical prompt to change to a different time?</p>
 625</blockquote>
 626<h2>Grandfather paradox</h2>
 627<ul>
 628<li>Grandfather is not necessary - could be the suicide paradox</li>
 629<li>Mathematical status - 1 bit (dead or alive):
 630<ul>
 631<li><span class="math"><script type="math/tex">x=</script></span> existence at 2 yrs, <span class="math"><script type="math/tex">y=</script></span> existence at 20 yrs</li>
 632<li><span class="math"><script type="math/tex">0=</script></span> dead, <span class="math"><script type="math/tex">1=</script></span> alive</li>
 633</ul>
 634</li>
 635<li><span class="math"><script type="math/tex">x=1</script></span> (alive - assumed because you must exist in the first instance)</li>
 636</ul>
 637<p><strong>(case 1)</strong> if <span class="math"><script type="math/tex">x=1</script></span>, then <span class="math"><script type="math/tex">y=1</script></span> (assuming you don’t die between) <span class="math"><script type="math/tex">\therefore x = y</script></span><br>
 638<strong>(case 2)</strong> if <span class="math"><script type="math/tex">y=1</script></span>, then <span class="math"><script type="math/tex">x=0</script></span> (because you killed yourself)<br>
 639This is not a contradiction - it simply states that <span class="math"><script type="math/tex">x=0 \lor 1</script></span> (one <em>or</em> zero)</p>
 640<p><strong><span class="math"><script type="math/tex">\therefore</script></span> both situations can exist (superposition) - suggesting multiple universe theory</strong></p>
 641<ul>
 642<li>Implies a link to quantum mechanics: dead or alive, or between (superposition):</li>
 643<li><span class="math"><script type="math/tex">1 \over 2</script></span> probability of killing grandfather/self (two parallel realities  - Murphy’s law)</li>
 644</ul>
 645<h3>Many worlds interpretation</h3>
 646<ul>
 647<li>different branches of superposition are different universes. Perception jumps between universes.</li>
 648<li>time can be defined only by the physical state of things at the time - this is the only way it can be derived. therefore, by changing the physical state, you are creating a new &quot;time (or timeline)</li>
 649</ul></body>
 650</html>